//
//  WZYPresentationController.swift
//  SwiftWB
//
//  Created by 吴志勇 on 2019/6/20.
//  Copyright © 2019 wzy. All rights reserved.
//

import UIKit

class WZYPresentationController: UIPresentationController {
    
    
    //保存菜单尺寸
    var presentFrame = CGRect.zero
    
    /*
     1.如果不自定转场Modal出来的控制器会移除原有的控制器
     2.如果自定义转场modal出来的控制器不会移除原有的控制器
     3.如果不自定义转场modal出来的控制器的尺寸和屏幕一样
     4.如果自定义转场modal出来的控制器的尺寸我们可以自己在containerViewWillLayoutSubviews方法中控制
     5.containerView 非常重要，容器视图，所有modal出来的视图都是添加到containerView上的
     6.presentView（）非常重要，通过该方法能够拿到弹出的视图
     
     */
    override init(presentedViewController: UIViewController, presenting presentingViewController: UIViewController?) {
        super.init(presentedViewController: presentedViewController, presenting: presentingViewController)
    }
    
    
    //用于布局转场动画弹出的控件
    override func containerViewWillLayoutSubviews() {
        
        presentedView?.frame = presentFrame
        containerView?.insertSubview(coverBtn, at: 0)
        coverBtn.addTarget(self, action: #selector(coverAction), for: .touchUpInside)
    }
    
    //MARK: -内部控制方法
    @objc private func coverAction(){
        presentedViewController.dismiss(animated: true, completion: nil)
    }
    
    private lazy var coverBtn : UIButton = {
        let btn = UIButton()
        btn.frame = UIScreen.main.bounds
        btn.backgroundColor = UIColor.clear
        return btn
        
    }()
}
